package client

import (
	"log"

	"gitee.com/ameise84/e3net"
)

type Hd struct {
}

func (ts *Hd) OnAgentConnect(agent e3net.TcpAgent, ctx e3net.ConnContext, conn e3net.Conn) {
	log.Println("onAgentConnect")
}

func (ts *Hd) OnAgentConnectFailed(agent e3net.TcpAgent, tag e3net.Tag, ctx e3net.ConnContext, err error) {
}

func (ts *Hd) OnAgentClosedConn(agent e3net.TcpAgent, tag e3net.Tag, ctx e3net.ConnContext) {
	log.Println("OnAgentClosedConn")
}

type Context struct {
}

func (ts *Context) OnRecv(conn e3net.Conn, bytes []byte) ([]byte, error) {
	log.Println("OnRecv")
	return nil, nil
}

func StartAgent() (e3net.TcpAgent, error) {
	s, err := e3net.NewTcpAgent(&Hd{})
	if err != nil {
		return nil, err
	}
	return s, s.Start()
}
